import config from '@/request/baseUrl.js';

// 转换服务器图片
export const webSrc = (src) => {
  return config.baseUrl + src
}

// 登录验证
export const author = (fn) => {
  if (uni.getStorageSync("TOKEN")) {
    fn();
  } else {
		uni.showModal({
			title: "登录提示",
			content: "请完成登录后再进行操作！",
			success: (res) => {
				if (res.confirm) {
					if (uni.getStorageSync("USER_INFO")) {
						uni.navigateTo({ url: "/pages/bind/againLogin" });
					} else {
						uni.navigateTo({ url: "/pages/bind/login" });
					}
				}
			},
		});
  }
}

// 时间格式化
export const timeFormat = (timestamp = null, fmt = 'yyyy-mm-dd') => {
	// 其他更多是格式化有如下:
	// yyyy:mm:dd|yyyy:mm|yyyy年mm月dd日|yyyy年mm月dd日 hh时MM分等,可自定义组合
	timestamp = parseInt(timestamp);
	// 如果为null,则格式化当前时间
	if (!timestamp) timestamp = Number(new Date());
	// 判断用户输入的时间戳是秒还是毫秒,一般前端js获取的时间戳是毫秒(13位),后端传过来的为秒(10位)
	if (timestamp.toString().length == 10) timestamp *= 1000;
	let date = new Date(timestamp);
	let ret;
	let opt = {
		"y+": date.getFullYear().toString(), // 年
		"m+": (date.getMonth() + 1).toString(), // 月
		"d+": date.getDate().toString(), // 日
		"h+": date.getHours().toString(), // 时
		"M+": date.getMinutes().toString(), // 分
		"s+": date.getSeconds().toString() // 秒
		// 有其他格式化字符需求可以继续添加，必须转化成字符串
	};
	for (let k in opt) {
		ret = new RegExp("(" + k + ")").exec(fmt);
		if (ret) {
			fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
		};
	};
	return fmt;
}

// 获取本地缓存
export const getStorage = (name) => {
  let data = uni.getStorageSync(name);
  return data ? JSON.parse(data) : '';
}

//  获取上级页面栈
export const prePage = () => {
  let pages = getCurrentPages();
  let prePage = pages[pages.length - 2];
  // #ifdef H5
  return prePage;
  // #endif
  // #ifndef H5
  return prePage.$vm;
  // #endif
}